/**
 * 响应拦截
 * @param {Object} http 
 */
module.exports = (vm) => {
    uni.$u.http.interceptors.response.use((response) => { /* 对响应成功做点什么 可使用async await 做异步操作*/
        const data = response.data
        // 自定义参数
        const custom = response.config?.custom
		// console.log("----",data)
		if(data.code != 200){
			// 如果没有显式定义custom的toast参数为false的话，默认对报错进行toast弹出提示
			if (custom.toast !== false) {
				if(data.code == 1001){
					// 未登录
					uni.showToast({
						icon:'none',
						title: '请登录',
						duration: 2000,
						mask:true,
					});
					setTimeout(function () {
					    uni.reLaunch({
					        url: '/pages/login/login'
					    });
					}, 2000);
				}else{
					try{
						uni.$u.toast(data.msg);
					}catch(e){
						uni.$u.toast('错误');
					}
				}
			}
			// 如果需要catch返回，则进行reject
			if (custom?.catch) {
			    return Promise.reject(data)
			} else {
			    // 否则返回一个pending中的promise
			    return new Promise(() => { })
			}
		}
		return data || {}
    }, (response) => { /*  对响应错误做点什么 （statusCode !== 200）*/
		uni.$u.toast('网络失败');
        return Promise.reject(response)
    })
}